package jmine.tec.web.userInputFilter.filters;

import java.util.Arrays;
import java.util.List;

import jmine.tec.web.tags.BreadCrumbTag;
import jmine.tec.web.userInputFilter.UserInputFilter;

/**
 * Implementação do filtro de espaços em branco da entrada.
 * 
 * @author pedro
 */
public class TrimFilter implements UserInputFilter {
    private static final String[] PRESERV_LIST = new String[]{ BreadCrumbTag.REQUEST_KEY };

    /**
     * Método que aplica o filtro efetivamente
     * 
     * @param value String a ser aplicado o filtro
     * @return valor após a aplicação do filtro
     */
    public String applyFilter(String value) {
        String filteredValue;
        if (value != null) {
            filteredValue = value.trim();
        } else {
            filteredValue = value;
        }
        return filteredValue;
    }

    /**
     * Devolve a lista de parâmetros em que o filtro não será aplicado
     * 
     * @return a lista de parâmetros em que o filtro não será aplicado
     */
    public List<String> getPreserveList() {
        return Arrays.asList(PRESERV_LIST);
    }

}
